package com.j180.service.order;

import com.j180.bean.Order;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface IOrderService {

    /**
     * 添加一条新订单
     * @param order 订单实体类
     * @return 成功 1 失败 0
     */
    int insertOrder(Order order);
    /**
     * 根据门店Id 查询订单信息
     * @param storeId 门店id
     * @return 查询结果集
     */
    List<Order> showOrdersByStoreId(@Param("storeId") int storeId);
    /**
     * 根据宠主Id查询订单信息
     * @param ownerId 宠主 id
     * @return 查询结果
     */
    List<Order> showOrdersByPetOwnerId(@Param("ownerId") int ownerId);
    /**
     * 根据评论Id查询订单信息
     * @param commentId 评论id
     * @return 查询结果
     */
    List<Order> showOrdersByCommentId(@Param("commentId") int commentId);
    /**
     * 根据商店ID删除订单
     * @param storeId 商店id
     * @return 成功 1 失败 0
     */
    int deleteOrderByStoreId(@Param("storeId") int storeId);

    /**
     * 根据宠物主人id删除订单
     * @param ownerId 宠主id
     * @return 成功 1 失败 0
     */
    int deleteOrdersByPetOwnerId(@Param("ownerId") int ownerId);

    /**
     * 根据评论Id删除订单
     * @param commentId 评论id
     * @return 成功 1 失败 0
     */
    int deleteOrdersByCommentId(@Param("commentId") int commentId);

    /**
     * 更新订单
     * @param order 订单实体类
     *
     */
    int updateOrder(Order order);

    /**
     * 根据订单编号查询订单详细信息
     * @param id 订单编号
     * @return 查询结果
     */
    Order showOrderDetailInfoById(@Param("id") int id);

}
